Performing an action based on user interaction data

ABSTRACT

A device obtains historical interaction data concerning a plurality of user interactions, where a user interaction of the plurality of user interactions includes one or more touchpoint sets, obtains historical response data concerning a plurality of user responses, where a user response of the plurality of user responses corresponds to a user interaction, and processes the historical interaction data and the historical response data using a modelling pipeline to determine an association between user interaction score and a touchpoint set. The device determines information concerning a current user interaction, processes the information concerning the current user interaction using the modelling pipeline to determine a current user interaction score and ranking of one or more touchpoint sets of the current user interaction, and causes, based on the current user interaction score and the ranking of the one or more touchpoint sets , at least one action to be performed.

BACKGROUND

A response monitoring device can track responses concerning userinteractions, such as website interactions, mobile applicationinteractions, customer service interactions, and/or the like. A responsemay include a user survey response, a user complaint, a user rating, auser comment, and/or the like.

SUMMARY

According to some implementations, a device may include one or morememories, and one or more processors, communicatively coupled to the oneor more memories, configured to obtain historical interaction dataconcerning a plurality of user interactions, wherein a user interactionof the plurality of user interactions includes one or more touchpointsets, to obtain historical response data concerning a plurality of userresponses, wherein a user response of the plurality of user responsescorresponds to a user interaction, and to process the historicalinteraction data and the historical response data using a modellingpipeline to determine an association between a user interaction scoreand a touchpoint set, The one or more processors may determineinformation concerning a current user interaction of a user, process theinformation concerning the current user interaction using the modellingpipeline to determine a current user interaction score and a ranking ofone or more touchpoint sets of the current user interaction, and cause,based on the current user interaction score and the ranking of the oneor more touchpoint sets of the current user interaction, at least oneaction to be performed.

According to some implementations, a non-transitory computer-readablemedium may store instructions that include one or more instructionsthat, when executed by one or more processors of a device, cause the oneor more processors to obtain historical interaction data concerning aplurality of user interactions, to obtain historical response dataconcerning a plurality of user responses associated with the pluralityof user interactions, and to process the historical interaction data andthe historical response data using a modelling pipeline to determine,for a user interaction of the plurality of user interactions: a userinteraction score, at least one touchpoint set, and an associationbetween the user interaction score and the at least one touchpoint set.The one or more instructions may cause the one or more processors toobtain information concerning a current user interaction of a user, andto process the information concerning the current user interaction usingthe modelling pipeline to determine a current user interaction score anda ranking of one or more touchpoint sets of the current userinteraction. The one or more instructions may cause the one or moreprocessors to determine that the current user interaction scoresatisfies a threshold, and to cause, after determining that the currentuser interaction score satisfies the threshold and based on the rankingof the one or more touchpoint sets of the current user interaction, atleast one action to be performed.

According to some implementations, a method may include obtaining, by adevice, historical interaction data concerning a plurality of userinteractions, obtaining, by the device, historical response dataconcerning a plurality of user responses associated with the pluralityof user interactions, and processing, by the device, the historicalinteraction data and the historical response data to train a model toidentify a correspondence between a user interaction score and atouchpoint set. The method may include obtaining, by the device,information concerning a plurality of current user interactions,processing, by the device, the information concerning the plurality ofcurrent user interactions to determine information concerning a currentuser interaction of the plurality of current user interactions, andprocessing, by the device, the information concerning the current userinteraction to determine a current user interaction score using themodel. The method may include generating, by the device and based on theinformation concerning the current user interaction, a ranking of one ormore touchpoint sets of the current user interaction using the model,and performing, by the device and based on the current user interactionscore and the ranking of the one or more touchpoint sets of the currentuser interaction, at least one action.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1D are diagrams of example implementations described herein.

FIG. 2 is a diagram of an example environment in which systems and/ormethods, described herein, may be implemented.

FIG. 3 is a diagram of example components of one or more devices of FIG.2.

FIGS. 4-6 are flow charts of example processes for performing an actionbased on user interaction data.

DETAILED DESCRIPTION

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

A response monitoring device can track responses concerning userinteractions, such as website interactions, mobile applicationinteractions, customer service interactions, and/or the like. Theresponse monitoring device can obtain information concerning a surveyresponse (e.g., the response monitoring device can send a survey to auser at the completion of a user interaction to encourage the user toprovide the survey response), information concerning a user complaint(e.g., information from a user's e-mail, a website form submission, acustomer service call, and/or the like), information concerning a userrating and/or comment, and/or the like. However, the response monitoringdevice can only obtain information about a user interaction if the userchooses to provide a response. Further, the response monitoring devicecannot determine how a user is experiencing a real-time user interactionand thus cannot perform any action to modify the real-time userinteraction to improve the customer's experience concerning thereal-time user interaction. This can lead to a backend device usingresources (e.g., processing resources, memory resources, powerresources, network resources, and/or the like) to field a user'scomplaint after the real-time user interaction ends that could beprevented if the user's sentiment concerning the user interaction couldhave been changed.

Some implementations described herein provide an interaction monitoringplatform that monitors a current user interaction and performs at leastone action to attempt to modify a user's current sentiment concerningthe user interaction. In some implementations, the interactionmonitoring platform obtains historical interaction data concerning aplurality of user interactions, where a user interaction of theplurality of user interactions includes one or more touchpoint sets, andobtains historical response data concerning a plurality of userresponses, where a user response of the plurality of user responsescorresponds to a user interaction. In some implementations, theinteraction monitoring platform processes the historical interactiondata and the historical response data using a modelling pipeline todetermine an association between a user interaction score and atouchpoint set. In some implementations, the interaction monitoringplatform determines information concerning a current user interaction ofa user and processes the information concerning the current userinteraction using the modelling pipeline to determine a current userinteraction score and a ranking of one or more touchpoint sets of thecurrent user interaction. In some implementations, the interactionmonitoring platform causes, based on the current user interaction scoreand the ranking of the one or more touchpoint sets of the current userinteraction, at least one action to be performed.

In this way, some implementations described herein can reduce usage ofthe resources of the backend device by reducing a likelihood that a userwill have a poor user interaction and submit a complaint that needs tobe processed by the backend device. This allows the backend device todevote the resources to other tasks and/or services. This can also leadto a better user experience for the user concerning the current userinteraction. Moreover, some implementations described herein can providealerts to interaction managers (e.g., by displaying an alert on a clientdevice) to allow the interaction managers, as well as automated systems,to modify interaction characteristics, which can prevent or reduceinteraction negative experiences and/or complaints from reoccurring.This can further reduce usage of the resources of the backend device.

Furthermore, implementations described herein are automated and cancapture and process numerous (e.g., hundreds, thousands, millions,billions, and/or the like) data points to determine an associationbetween a user interaction score and/or at least one user interactionpattern of a user interaction, determine a pattern importance rankingconcerning the at least one user interaction pattern, and/or the like.This can improve speed and efficiency of the process and conservecomputing resources (e.g., processor resources, memory resources, powerresources, and/or the like) of the interaction monitoring platform thatwould otherwise be used to attempt to determine user interaction issues.

FIGS. 1A-1D are diagrams of example implementations 100 describedherein. As shown in FIG. 1A, example implementations 100 may include aserver device (e.g., one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith user interactions) and an interaction monitoring platform (e.g., asystem that monitors the user interactions). Some exampleimplementations described herein concern a single server device and/or asingle interaction monitoring platform, but implementations can includea plurality of server devices and/or a plurality of interactionmonitoring platforms. In some implementations, the server device and theinteraction monitoring platform may be connected via a network, such asthe internet, an intranet, and/or the like.

As shown by reference number 102, the server device may receiveinteraction data and/or response data. In some implementations, theserver device may obtain (e.g., receive, collect, capture, and/or thelike) the interaction data and/or response data. The interaction datamay concern one or more user interactions (e.g., one or moreinteractions between a user and a person, a device, an interface of anapplication, and/or the like of an organization). A user interaction maybe a website interaction, a mobile application interaction, atransaction card terminal interaction, a payment interaction, awithdrawal interaction, a deposit interaction, a returned paymentinteraction, a bill payment interaction, a customer service interaction,a virtual assistant interaction (e.g., via a chatbot or an interactivevoice response (IVR) device), a point of sale interaction, a financialproduct interaction, a financial product application interaction, afinancial account interaction, and/or the like. A user interaction maycomprise one or more touchpoints (e.g., one or more pieces ofinformation) concerning the user interaction. For example, a touchpointmay include information concerning who initiated the user interaction(e.g., the user, a representative of an organization, a virtualassistant, and/or the like); information concerning how the userinteraction was initiated (e.g., via a website, a mobile application, atransaction card terminal, and/or the like); information concerning whythe user interaction was initiated (e.g., the user wanted to pay a billthat is past due, the user wanted to transfer money between financialaccounts, and/or the like); information concerning what was conveyedduring the user interaction (e.g., identification information concerningthe user; information concerning a user account, a financial account, afinancial product, a financial product application, a bill; and/or thelike); information concerning how long the user interaction lasted(e.g., an amount of time between initiation of the user interaction andtermination of the user interaction); information concerning a wait timeassociated with the user interaction (e.g., an amount of time betweeninitiation of the user interaction and when a representative of anorganization and/or virtual assistant communicated with the user);information concerning whether the user interaction is associated withan existing user interaction issue (e.g., whether the user initiated acustomer service interaction to discuss a reoccurring issue with a bill,a financial account, and/or the like); information concerning whetherthe user indicated dissatisfaction with the user interaction (e.g.,whether the user requested to talk to a customer service representative,whether the user indicated that the user needed help during the userinteraction, and/or the like); information concerning whether acorrective action was taken to address the user's dissatisfaction withthe user interaction (e.g., whether a virtual assistant call was routedto a customer service representative, whether a customer servicerepresentative called the user after the user interaction, whether theuser was offered a monetary credit, a discount, and/or the like); and/orthe like.

The response data may concern one or more user responses concerning theone or more user interactions included in the interaction data. Aresponse may include a user survey response, a user complaint, a userrating, a user comment, and/or the like. In some implementations, a userresponse, of the one or more user responses, may correspond to a userinteraction of the one or more user interactions. For example, a userresponse may be a survey response that corresponds to a financialproduct application interaction (e.g., a survey response regarding auser's experience applying for a financial product). In someimplementations, a response may include information that indicates auser's sentiment regarding the user interaction (e.g., whether the userwas happy with the user interaction, whether the user was unhappy withthe user interaction, whether the user was satisfied with the userinteraction, whether the user was unsatisfied with the user interaction,and/or the like). In some implementations, the response may includeinformation that indicates whether a corrective action changed theuser's sentiment regarding the user interaction (e.g., whether routing acall from a virtual assistant to a customer service representativechanged the user's opinion of the user interaction, whether an offer ofa monetary credit, a discount, and/or the like, changed the user'sopinion of the user interaction, and/or the like).

As shown by reference number 104, the server device may collecthistorical interaction data for a historical period of time (e.g.,capture and store interaction data from a particular period of time inthe past). In some implementations, the historical interaction data mayconcern a plurality of user interactions for the historical period oftime. In some implementations, the historical interaction data mayconcern a plurality of users, where each user, of the plurality ofusers, is associated with a set of user interactions, of the pluralityof user interactions. In some implementations, the server device maysend the historical interaction data to the interaction monitoringplatform (e.g., transmit the historical interaction data to theinteraction monitoring platform via the network). In someimplementations, the interaction monitoring platform may obtain thehistorical interaction data from the server device via the network.

As shown by reference number 106, the server device may collecthistorical response data for the historical period of time (e.g.,capture and store response data from the historical period of time thatcorresponds with the historical interaction data). In someimplementations, the historical response data may correspond to thehistorical interaction data (e.g., a user response, of the one or moreuser responses, of the historical response data corresponds to a userinteraction, of the one or more user interactions, of the historicalinteraction data). In some implementations, the server device may sendthe historical response data to the interaction monitoring platform(e.g., transmit the historical response data to the interactionmonitoring platform via the network). In some implementations, theinteraction monitoring platform may obtain the historical response datafrom the server device via the network.

As shown in FIG. 1B, the interaction monitoring platform may process thehistorical interaction data and/or the historical response data. Asshown by reference number 108, the interaction monitoring platform mayprocess the historical interaction data and/or the historical responsedata using a modelling pipeline. In some implementations, the modellingpipeline may include performing one or more steps using one or moretechniques, such as a pattern mining technique, a recursive featureelimination technique, a gradient boosting technique, and/or the like.

In some implementations and as a first step in the modelling pipeline,the interaction monitoring platform may process the historicalinteraction data and/or the historical response data to determine arespective user interaction score of each user interaction of the one ormore user interactions of the historical interaction data. In someimplementations, the interaction monitoring platform may determine whichresponses of the historical response data correspond to which userinteractions of the historical interaction data and may determine, for auser interaction, of the one or more interactions, a user interactionscore based on the response that corresponds with the user interaction.For example, the interaction monitoring platform may process the portionof the response data that indicates the user's sentiment to determinethe user interaction score. The user interaction score may indicatewhether the user interaction was positive and/or negative and/or to whatdegree the user interaction was positive and/or negative (e.g., theinteraction score may rate the user interaction on a scale of one toten, where a score of one indicates an extremely negative interactionand a score of ten indicates an extremely positive interaction).

In some implementations and as a second step in the modelling pipeline,the interaction monitoring platform may process the historicalinteraction data and/or the historical response data to determine arespective one or more touchpoint sets associated with each userinteraction of the one or more user interactions of the historicalinteraction data. A touchpoint set may include particular touchpoints,of the one or more touchpoints, associated with a user interaction. Forexample, a touchpoint set may include the information concerning whoinitiated the user interaction and the information concerning what wasconveyed during the user interaction. Multiple touchpoint sets may beassociated with a user interaction (e.g., a first touchpoint set mayinclude a first group of touchpoints, a second touchpoint set mayinclude a second group of touchpoints, and/or the like). A touchpoint,of the one or more touchpoints, may be in any of the multiple touchpointsets or none of the multiple touchpoint sets. In some implementations,the interaction monitoring platform may process the historicalinteraction data and/or the historical response data using a patternmining technique, such as a sequential pattern mining technique (e.g. asequential pattern discovery using equivalence classes (SPADE)technique, a frequent closed sequential pattern mining technique, avertical mining of maximal sequential patterns (VMSP) technique, and/orthe like) to determine the respective one or more touchpoint setsassociated with each user interaction of the one or more userinteractions of the historical interaction data.

In some implementations and as a third step in the modelling pipeline,the interaction monitoring platform may process the respective userinteraction score and/or the respective one or more touchpoint sets ofeach user interaction of the one or more user interactions of thehistorical interaction data (hereinafter referred to as the historicaluser interaction score and touchpoint set data) to generate and/or traina machine learning model. As shown by reference number 110, theinteraction monitoring platform may process the historical userinteraction score and touchpoint set data to train the machine learningmodel to determine an association between a user interaction score and atouchpoint set of a user interaction. For example, the interactionmonitoring platform may train the machine learning model to determinewhether and to what degree a particular touchpoint set (e.g., a group oftouchpoints) of a user interaction is associated with a particular userinteraction score. Moreover, the interaction monitoring platform maytrain the machine learning model to determine whether and to what degreea particular touchpoint set affects the particular user interactionscore (e.g., whether and to what degree a corrective action changed auser's sentiment regarding the particular user interaction).

In some implementations, the interaction monitoring platform may performa set of data manipulation procedures to process the historical userinteraction score and touchpoint set data to generate the machinelearning model, such as a data preprocessing procedure, a model trainingprocedure, a model verification procedure, and/or the like. For example,the interaction monitoring platform may preprocess the historical userinteraction score and user interaction pattern data to remove numbersand/or letters, non-ASCII characters, other special characters, whitespaces, confidential data, and/or the like. In this way, the interactionmonitoring platform may organize thousands, millions, or billions ofdata entries for machine learning and model generation.

In some implementations, the interaction monitoring platform may performa training operation when generating the machine learning model. Forexample, the interaction monitoring platform may portion the historicaluser interaction score and touchpoint set data into a training set, avalidation set, a test set, and/or the like. In some implementations, aminimum feature set may be created from pre-processing and/ordimensionality reduction of the historical user interaction score andtouchpoint set data. In some implementations, the interaction monitoringplatform may train the machine learning model on this minimum featureset, thereby reducing processing to train the machine learning model,and may apply a classification technique to the minimum feature set.

In some implementations, the interaction monitoring platform may use aclassification technique, such as a logistic regression classificationtechnique, a random forest classification technique, a gradient boostingmachine (GBM) classifier technique, and/or the like to determine acategorical outcome (e.g., that a particular user interaction score isassociated with a particular touchpoint set). Additionally, oralternatively, the interaction monitoring platform may perform arecursive feature elimination procedure to split the data of the minimumfeature set into partitions and/or branches, and use the partitionsand/or branches to perform predictions (e.g., that a particular userinteraction score is associated with a particular touchpoint set). Basedon using the recursive feature elimination procedure, the interactionmonitoring platform may reduce utilization of computing resourcesrelative to manual, linear sorting and analysis of data points, therebyenabling use of thousands, millions, or billions of data points to trainthe machine learning model, which may result in a more accurate machinelearning model than using fewer data points.

Additionally, or alternatively, the interaction monitoring platform mayuse a support vector machine (SVM) classifier technique to generate anon-linear boundary between data points in the training set. In thiscase, the non-linear boundary is used to classify test data (e.g.,historical user interaction score and touchpoint set data) into aparticular class (e.g., a class indicating that a particular userinteraction score is associated with a particular touchpoint set).

Additionally, or alternatively, the interaction monitoring platform maytrain the machine learning model using a supervised training procedurethat includes receiving input to the model from a subject matter expert,which may reduce an amount of time, an amount of processing resources,and/or the like to train the machine learning model relative to anunsupervised training procedure. In some implementations, theinteraction monitoring platform may use one or more other model trainingtechniques, such as a neural network technique, a latent semanticindexing technique, and/or the like. For example, the interactionmonitoring platform may perform an artificial neural network processingtechnique (e.g., using a two-layer feedforward neural networkarchitecture, a three-layer feedforward neural network architecture,and/or the like) to perform pattern recognition with regard to patternsof particular user interaction scores associated with particulartouchpoint sets. In this case, using the artificial neural networkprocessing technique may improve an accuracy of the machine learningmodel generated by the interaction monitoring platform by being morerobust to noisy, imprecise, or incomplete data, and by enabling theinteraction monitoring platform to detect patterns and/or trendsundetectable to human analysts or systems using less complex techniques.

Accordingly, the interaction monitoring platform may use any number ofartificial intelligence techniques, machine learning techniques, deeplearning techniques, and/or the like to determine an association betweena user interaction score and a touchpoint set of a user interaction.

As shown in FIG. 1C and by reference number 112, the interactionmonitoring platform may obtain current user interaction information. Insome implementations, the current user interaction information concernsa current user interaction of a user. The interaction monitoringplatform may obtain the current user interaction information inreal-time (e.g., as the current user interaction takes place). Forexample, the server device may obtain the current user interactioninformation and send the current user interaction information to theinteraction monitoring platform in real-time. In some implementations,the interaction monitoring platform may obtain information concerning aplurality of current user interactions (e.g., information concerningmultiple current user interactions happening at the same time) from oneor more server devices. The interaction monitoring platform may obtainthe information concerning the plurality of current user interactions inreal-time.

As shown by reference number 114, the interaction monitoring platformmay process the current user interaction information using one or moresteps of the modelling pipeline. For example, the interaction monitoringplatform may process the current user interaction information using thepattern mining technique of the modelling pipeline to determine one ormore touchpoint sets associated with the current user interaction.

In some implementations, the interaction monitoring platform maydetermine a ranking of the one or more touchpoint sets of the currentuser interaction. For example, the interaction monitoring platform mayprocess the one or more touchpoint sets associated with the current userinteraction using the machine learning model of the modelling pipelineto determine an estimated user interaction score associated with eachtouchpoint set, of the one or more touchpoints sets, and a degree ofassociation between the touchpoint set and the estimated userinteraction score. The interaction monitoring platform may rank the oneor more touchpoint sets by the degree of association each touchpoint sethas with a respective estimated user interaction score (e.g., atouchpoint set with a high degree of association with an estimated userinteraction score is ranked higher than a touchpoint set with a lowdegree of association with an estimated user interaction score).

In some implementations, the interaction monitoring platform maydetermine the current user interaction score based on the one or moretouchpoint sets associated with the current user interaction. Forexample, the interaction monitoring platform may process the one or moretouchpoint sets associated with the current user interaction using anaverage based on the respective estimated user interaction scoreassociated with each touchpoint set. The average may be weighted basedon the degree of association associated with the respective estimateduser interaction score of each touchpoint set. In some implementations,the interaction monitoring platform may determine the current userinteraction score based on the ranking of the one or more touchpointsets of the current user interaction. For example, the interactionmonitoring platform may assign the current user interaction score thevalue of the estimated user interaction score associated with thehighest ranking touchpoint set (e.g., the current user interaction scoreis assigned the value of the estimated user interaction score that hasthe highest degree of association with a touchpoint set of the one ormore touchpoint sets of the current user interaction).

In some implementations, the interaction monitoring platform maydetermine, based on the current interaction user score, a currentsentiment of the user at a current stage of the current userinteraction; a current likelihood that the user will provide a responseconcerning the current stage of the current user interaction (e.g., alikelihood that the user will call to complain, send an email, leave acomment on a website, and/or the like), a current likelihood that theuser will respond to marketing concerning the current stage of thecurrent user interaction, and/or the like.

As shown in FIG. 1D and by reference number 116, the interactionmonitoring platform may determine that action needs to be taken. In someimplementations, the interaction monitoring platform may determine thataction needs to be taken based on the current user interaction score.For example, the interaction monitoring platform may determine that thecurrent user score satisfies a threshold (e.g., the current user scoreis less than the threshold, which indicates that the user is currentlyexperiencing a negative interaction) to determine that action needs tobe taken to facilitate changing the current user score.

As shown by reference number 118, the interaction monitoring platformmay determine one or more actions to be performed. In someimplementations, the interaction monitoring platform may determine theone or more actions to be performed based on and/or in response todetermining that action needs to be taken. In some implementations, theone or more actions have a high likelihood of improving the current userinteraction score (e.g., make the user experience better).

Additionally, or alternatively, the interaction monitoring platform maydetermine the one or more actions to be performed based on the one ormore touchpoint sets of the current user interaction. For example, theinteraction monitoring platform may process the one or more touchpointsets of the current user interaction using the machine learning model ofthe modelling pipeline to determine the one or more actions. The machinelearning model may identify one or more additional touchpoint sets thatwould improve the user's interaction experience (e.g., increase thecurrent user interaction score to a level higher than the level of thecurrent user interaction score). The interaction monitoring platform maydetermine the one or more actions based on the one or more additionaltouchpoint sets (e.g., determine which actions are associated with theone or more additional touchpoint sets).

Additionally, or alternatively, the interaction monitoring platform maydetermine the one or more actions to be performed based on the rankingof the one or more touchpoint sets of the current user interaction. Insome implementations, the interaction monitoring platform may determinethe highest ranking touchpoint set of the current user interaction(e.g., the touchpoint set with the highest degree of association withthe current user interaction score) and determine, based on the highestranking touchpoint set, the one or more actions to be performed. Forexample, the interaction monitoring platform may process the highestranking touchpoint set using the machine learning model of the modellingpipeline to determine an additional touchpoint set. The additionaltouchpoint set may have a greater user interaction score than thecurrent user interaction score and/or may have a greater degree ofassociation with the greater user interaction score than the degree ofassociation that the highest ranking touchpoint set has with the currentuser interaction score. The interaction monitoring platform maydetermine the one or more actions based on the additional touchpoint set(e.g., determine which actions are associated with the additionaltouchpoint set).

In some implementations, the one or more actions may be specific to atype of the current user interaction. For example, when the current userinteraction concerns an interaction between the user and anorganization, the one or more actions may include determining that arepresentative of the organization is to communicate with the user;determining a communication device of the representative and/or acommunication device of the user; and/or causing the communicationdevice of the representative to initiate a communication session withthe communication device of the user (e.g., by sending a signal with aninstruction to initiate the communication session to the communicationdevice of the representative). As another example, when the current userinteraction concerns an organization, the one or more actions mayinclude determining an availability of the user and/or scheduling, basedon the availability of the user, a time for the representative of theorganization to call the user. In another example, one or more actionsmay include determining a user device associated with the current userinteraction and/or initiating a communication session with the userdevice to enable a virtual assistant to communicate with the user of theuser device. In this way, the one or more actions can facilitate arepresentative and/or a virtual assistant directly communicating with auser when the interaction monitoring platform determines that the useris having a poor interaction with the organization.

As another example, when the current user interaction concerns a userinteracting with an interactive voice response (IVR) system via acommunication session, the one or more actions may include changing amenu routing path of the IVR system (e.g., providing a menu to talk to arepresentative after determining that the user is frustrated withcommunicating with the IVR system). In another example, the one or moreactions may include preventing the IVR system from communicating withthe user via the communication session and/or connecting thecommunication session to a communication device of a representative. Inthis way, the one or more actions can facilitate a better IVR systeminteraction when the interaction monitoring platform determines that theuser is having a poor IVR system interaction.

As another example, when the current user interaction concerns afinancial account of the user, the one or more actions may includedetermining a monetary credit and/or causing the monetary credit to beadded to the financial account of the user. In this way, the one or moreactions can facilitate providing funds to the financial account tocompensate for a poor financial account interaction.

In another example, when the current user interaction concerns a bill ofthe user, the one or more actions may include determining informationconcerning the bill; calculating, based on the information concerningthe bill, a bill discount; generating a message concerning the billdiscount; and/or sending the message to an electronic messaging account(e.g., an e-mail account) associated with the user. As another example,when the current user interaction concerns an account of the user and abill, the one or more actions may include determining that the accounthas insufficient assets to pay the bill; causing assets of anotheraccount of the user to be transferred to the account; scheduling a datefor the bill to be paid using assets of the account; and/or enrollingthe account in an overdraft protection plan. In this way, the one ormore actions may facilitate providing a bill discount and/or payment ofa bill using a user's funds across many different accounts to compensatefor a poor bill review and/or poor bill payment interaction.

As another example, when the current user interaction concerns atransaction card of the user and a transaction terminal, the one or moreactions may include determining an issue concerning the transactioncard; causing the transaction terminal to decline the transaction card(e.g., by sending a signal with an instruction to decline thetransaction card to the transaction terminal); causing a differentdevice to cancel the transaction card (e.g., by sending a signal with aninstruction to cancel the transaction card to the different device);and/or causing the different device to issue a new transaction card tothe user (e.g., by sending a signal with an instruction to issue a newtransaction card to the different device). In this way, the one or moreactions may facilitate automatically issuing a new transaction card toaddress an issue concerning a poor transaction card interaction.

In another example, the one or more actions may include generating asurvey; sending the survey to a user device associated with the user;receiving, based on sending the survey, a survey response; andretraining the machine learning model of the modelling pipeline based onthe survey and the survey response. In this way, the one or more actionsmay include facilitate automatically updating the machine learning modelwhen the interaction monitoring platform determines that the user ishaving a poor interaction, which can prevent poor interactions fromreoccurring in the future.

As shown by reference number 120, the interaction monitoring platformmay perform the one or more actions. Additionally, or alternatively, theinteraction monitoring platform may cause the one or more actions to beperformed by a different device, such as the server device, a clientdevice and/or the like. As shown by reference number 122, theinteraction monitoring platform may generate and send an alert to thedifferent device (shown in FIG. 1D as the client device). The alert mayinclude one or more instructions for the different device to perform theone or more actions. As shown by reference number 124, the differentdevice may receive the alert and, based on the alert, perform the one ormore actions. For example, the different device may execute the one ormore instructions included in the alert to cause the different device toperform the one or more actions.

In some implementations, the alert includes display information. Thedisplay information may include information that indicates the currentuser interaction score, information that indicates that action needs tobe taken, information that indicates the one or more actions, and/or thelike. In some implementations, the different device may receive thealert and cause display, based on the alert, of the display informationon a display of the different device. For example, the different devicemay cause display of an indicator that indicates that action needs to betaken. As another example, the different device may cause display of theinformation that indicates the current user interaction score and/or theinformation that indicates the one or more actions on the display of thedifferent device. In some implementations, a user of the differentdevice may see the display of the display information on the differentdevice, and may enter input into the different device, via an inputinterface of the different device, to cause the different device toperform the one or more actions. For example, the user may enter inputthat causes the different device to execute the one or more instructionsincluded in the alert to cause the different device to perform the oneor more actions.

As indicated above, FIGS. 1A-1D are provided merely as an example. Otherexamples may differ from what was described with regard to FIGS. 1A-1D.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods, described herein, may be implemented. As shown in FIG.2, environment 200 may include a server device 210, an interactionmonitoring platform 220, a client device 230, and/or the like. Devicesof environment 200 may interconnect via wired connections, wirelessconnections, or a combination of wired and wireless connections.

Server device 210 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith user interactions. For example, server device 210 may include aserver device (e.g., a host server, a web server, an application server,etc.), a data center device, or a similar device. In someimplementations, server device 210 may be capable of communicating withclient device 230 and/or interaction monitoring platform 220, in amanner designed to facilitate collection of interaction data and/orresponse data. For example, server device 210 may receive, obtain and/orcapture interaction data and/or response data, may collect historicalinteraction data and/or historical response data for a historical periodof time, and/or may send the historical interaction data and/orhistorical response data to interaction monitoring platform 220. Serverdevice 210 may obtain current user interaction information in real-timeand/or send the current user interaction information to interactionmonitoring platform 220 in real-time.

Interaction monitoring platform 220 includes one or more devices thatreceive and/or process information (e.g., historical interaction dataand/or historical response data, current user interaction information,one or more touchpoints, and/or the like), generate information (e.g., auser interaction score of a user interaction, an association between theuser interaction score and a touchpoint set, a ranking of one or moretouchpoint sets of the user interaction, and/or the like), determineinformation (e.g a user interaction score of a user interaction, anassociation between the user interaction score and a touchpoint set, aranking of one or more touchpoint sets of the user interaction, and/orthe like) and/or generate an alert indicating that action needs to betaken. Interaction monitoring platform 220 may perform, or cause to beperformed, at least one action.

In some implementations, interaction monitoring platform 220 can bedesigned to be modular such that certain software components can beswapped in or out depending on a particular need. As such, interactionmonitoring platform 220 can be easily and/or quickly reconfigured fordifferent uses. In some implementations, interaction monitoring platform220 can receive information from and/or transmit information to serverdevice 210, client device 230, and/or the like.

In some implementations, as shown, interaction monitoring platform 220can be hosted in a cloud computing environment 222. Notably, whileimplementations described herein describe interaction monitoringplatform 220 as being hosted in cloud computing environment 222, in someimplementations, interaction monitoring platform 220 cannot becloud-based (i.e., can be implemented outside of a cloud computingenvironment) or can be partially cloud-based.

Cloud computing environment 222 includes an environment that hostsinteraction monitoring platform 220. Cloud computing environment 222 canprovide computation, software, data access, storage, etc. services thatdo not require end-user knowledge of a physical location andconfiguration of system(s) and/or device(s) that hosts interactionmonitoring platform 220. As shown, cloud computing environment 222 caninclude a group of computing resources 224 (referred to collectively as“computing resources 224” and individually as “computing resource 224”).

Computing resource 224 includes one or more personal computers,workstation computers, server devices, or other types of computationand/or communication devices. In some implementations, computingresource 224 can host interaction monitoring platform 220. The cloudresources can include compute instances executing in computing resource224, storage devices provided in computing resource 224, data transferdevices provided by computing resource 224, etc. In someimplementations, computing resource 224 can communicate with othercomputing resources 224 via wired connections, wireless connections, ora combination of wired and wireless connections.

As further shown in FIG. 2, computing resource 224 includes a group ofcloud resources, such as one or more applications (“APPs”) 224-1, one ormore virtual machines (“VMs”) 224-2, virtualized storage (“VSs”) 224-3,one or more hypervisors (“HYPs”) 224-4, and/or the like.

Application 224-1 includes one or more software applications that can beprovided to or accessed by client device 230. Application 224-1 caneliminate a need to install and execute the software applications onclient device 230. For example, application 224-1 can include softwareassociated with interaction monitoring platform 220 and/or any othersoftware capable of being provided via cloud computing environment 222.In some implementations, one application 224-1 can send/receiveinformation to/from one or more other applications 224-1, via virtualmachine 224-2.

Virtual machine 224-2 includes a software implementation of a machine(e.g., a computer) that executes programs like a physical machine.Virtual machine 224-2 can be either a system virtual machine or aprocess virtual machine, depending upon use and degree of correspondenceto any real machine by virtual machine 224-2. A system virtual machinecan provide a complete system platform that supports execution of acomplete operating system (“OS”). A process virtual machine can executea single program, and can support a single process. In someimplementations, virtual machine 224-2 can execute on behalf of a user(e.g., client device 230 or an operator of interaction monitoringplatform 220), and can manage infrastructure of cloud computingenvironment 222, such as data management, synchronization, orlong-duration data transfers.

Virtualized storage 224-3 includes one or more storage systems and/orone or more devices that use virtualization techniques within thestorage systems or devices of computing resource 224. In someimplementations, within the context of a storage system, types ofvirtualizations can include block virtualization and filevirtualization. Block virtualization can refer to abstraction (orseparation) of logical storage from physical storage so that the storagesystem can be accessed without regard to physical storage orheterogeneous structure. The separation can permit administrators of thestorage system flexibility in how the administrators manage storage forend users. File virtualization can eliminate dependencies between dataaccessed at a file level and a location where files are physicallystored. This can enable optimization of storage use, serverconsolidation, and/or performance of non-disruptive file migrations.

Hypervisor 224-4 can provide hardware virtualization techniques thatallow multiple operating systems (e.g., “guest operating systems”) toexecute concurrently on a host computer, such as computing resource 224.Hypervisor 224-4 can present a virtual operating platform to the guestoperating systems, and can manage the execution of the guest operatingsystems. Multiple instances of a variety of operating systems can sharevirtualized hardware resources.

Client device 230 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith user interaction. For example, client device 230 can include acommunication and/or computing device, such as a mobile phone (e.g., asmart phone, a radiotelephone, etc.), a laptop computer, a tabletcomputer, a handheld computer, a gaming device, a wearable communicationdevice (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), ora similar type of device. Client device 230 may receive and/or obtain analert from interaction monitoring platform 220. Client device maydisplay the alert and/or perform, or cause to be performed, at least oneaction based on the alert.

Network 240 includes one or more wired and/or wireless networks. Forexample, network 240 can include a cellular network (e.g., a fifthgeneration (5G) network, a long-term evolution (LTE) network, a thirdgeneration (3G) network, a code division multiple access (CDMA) network,etc.), a public land mobile network (PLMN), a local area network (LAN),a wide area network (WAN), a metropolitan area network (MAN), atelephone network (e.g., the Public Switched Telephone Network (PSTN)),a private network, an ad hoc network, an intranet, the Internet, a fiberoptic-based network, and/or the like, and/or a combination of these orother types of networks.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to server device 210, interaction monitoring platform220, computing resource 224, and/or client device 230. In someimplementations, server device 210, interaction monitoring platform 220,computing resource 224, and/or client device 230 may include one or moredevices 300 and/or one or more components of device 300. As shown inFIG. 3, device 300 may include a bus 310, a processor 320, a memory 330,a storage component 340, an input component 350, an output component360, and a communication interface 370.

Bus 310 includes a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320 is acentral processing unit (CPU), a graphics processing unit (GPU), anaccelerated processing unit (APU), a microprocessor, a microcontroller,a digital signal processor (DSP), a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), or anothertype of processing component. In some implementations, processor 320includes one or more processors capable of being programmed to perform afunction. Memory 330 includes a random access memory (RAM), a read onlymemory (ROM), and/or another type of dynamic or static storage device(e.g., a flash memory, a magnetic memory, and/or an optical memory) thatstores information and/or instructions for use by processor 320.

Storage component 340 stores information and/or software related to theoperation and use of device 300. For example, storage component 340 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, and/or a solid state disk), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 350 includes a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, and/or amicrophone). Additionally, or alternatively, input component 350 mayinclude a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, and/or anactuator). Output component 360 includes a component that providesoutput information from device 300 (e.g., a display, a speaker, and/orone or more light-emitting diodes (LEDs)).

Communication interface 370 includes a transceiver-like component (e.g.,a transceiver and/or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wiredconnection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a cellular network interface, orthe like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes based on processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for performing anaction based on user interaction data. In some implementations, one ormore process blocks of FIG. 4 may be performed by an interactionmonitoring platform (e.g., interaction monitoring platform 220). In someimplementations, one or more process blocks of FIG. 4 may be performedby another device or a group of devices separate from or including theinteraction monitoring platform, such as a server device (e.g., serverdevice 210), a client device (e.g., client device 230), and/or the like.

As shown in FIG. 4, process 400 may include obtaining historicalinteraction data concerning a plurality of user interactions, wherein auser interaction of the plurality of user interactions includes one ormore touchpoint sets (block 410). For example, the interactionmonitoring platform (e.g., using computing resource 224, processor 320,memory 330, storage component 340, input component 350, communicationinterface 370, and/or the like) may obtain historical interaction dataconcerning a plurality of user interactions, as described above. In someimplementations, a user interaction of the plurality of userinteractions may include one or more touchpoint sets.

As further shown in FIG. 4, process 400 may include obtaining historicalresponse data concerning a plurality of user responses, wherein a userresponse of the plurality of user responses corresponds to a userinteraction (block 420). For example, the interaction monitoringplatform (e.g., using computing resource 224, processor 320, memory 330,storage component 340, input component 350, communication interface 370,and/or the like) may obtain historical response data concerning aplurality of user responses, as described above. In someimplementations, a user response of the plurality of user responses maycorrespond to a user interaction.

As further shown in FIG. 4, process 400 may include processing thehistorical interaction data and the historical response data using amodelling pipeline to determine an association between a userinteraction score and a touchpoint set (block 430). For example, theinteraction monitoring platform (e.g., using computing resource 224,processor 320, memory 330, storage component 340, and/or the like) mayprocess the historical interaction data and the historical response datausing a modelling pipeline to determine an association between a userinteraction score and a touchpoint set, as described above.

As further shown in FIG. 4, process 400 may include determininginformation concerning a current user interaction of a user (block 440).For example, the interaction monitoring platform (e.g., using computingresource 224, processor 320, memory 330, storage component 340, and/orthe like) may determine information concerning a current userinteraction of a user, as described above.

As further shown in FIG. 4, process 400 may include processing theinformation concerning the current user interaction using the modellingpipeline to determine a current user interaction score and a ranking ofone or more touchpoint sets of the current user interaction (block 450).For example, the interaction monitoring platform (e.g., using computingresource 224, processor 320, memory 330, storage component 340, and/orthe like) may process the information concerning the current userinteraction using the modelling pipeline to determine a current userinteraction score and a ranking of one or more touchpoint sets of thecurrent user interaction, as described above.

As further shown in FIG. 4, process 400 may include causing, based onthe current user interaction score and the ranking of the one or moretouchpoint sets of the current user interaction, at least one action tobe performed (block 460). For example, the interaction monitoringplatform (e.g., using computing resource 224, processor 320, memory 330,storage component 340, input component 350, output component 360,communication interface 370, and/or the like) may cause, based on thecurrent user interaction score and the ranking of the one or moretouchpoint sets of the current user interaction, at least one action tobe performed, as described above.

Process 400 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, when processing the historical interaction dataand the historical response data using the modelling pipeline todetermine the association between the user interaction score and thetouchpoint set, the interaction monitoring platform may process thehistorical interaction data and the historical response data using atleast one of the following techniques: a pattern mining technique, agradient boosting technique, or a recursive feature eliminationtechnique.

In some implementations, the historical interaction data may concern aplurality of users, where each user of the plurality of users isassociated with a set of user interactions, of the plurality of userinteractions. In some implementations, the current user interactionscore may indicate a current sentiment of the user at a current stage ofthe current user interaction, a first current likelihood that the userwill provide a response concerning the current stage of the current userinteraction, and/or a second current likelihood that the user willrespond to marketing concerning the current stage of the current userinteraction.

In some implementations, the current user interaction may concern aninteraction between the user and an organization, and, when causing theat least one action to be performed, the interaction monitoring platformmay determine, based on the current user interaction score and theranking of the one or more touchpoint sets of the current userinteraction, that a representative of the organization is to communicatewith the user, may determine a communication device of therepresentative and a communication device of the user, and may cause thecommunication device of the representative to initiate a communicationsession with the communication device of the user.

In some implementations, the current user interaction may concern afinancial account of the user, and, when causing the at least one actionto be performed, the interaction monitoring platform may determine,based on the current user interaction score and the ranking of the oneor more touchpoint sets of the current user interaction, a monetarycredit, and may cause the monetary credit to be added to the financialaccount of the user.

In some implementations, the current user interaction may concern a billof the user, and, when causing the at least one action to be performed,the interaction monitoring platform may determine information concerningthe bill, may calculate, based on the current user interaction score,the ranking of the one or more touchpoint sets of the current userinteraction, and the information concerning the bill, a bill discount,may generate a message concerning the bill discount, and may send themessage to an electronic messaging account associated with the user.

In some implementations, the current user interaction may concern anaccount of the user and a bill, and, when causing the at least oneaction to be performed, the interaction monitoring platform maydetermine, based on the current user interaction score, the ranking ofthe one or more touchpoint sets of the current user interaction, and theinformation concerning the current user interaction, that the accounthas insufficient assets to pay the bill, may cause assets of anotheraccount of the user to be transferred to the account, may schedule adate for the bill to be paid using assets of the account, and may enrollthe account in an overdraft protection plan.

In some implementations, the current user interaction may concern atransaction card of the user and a transaction terminal, and, whencausing the at least one action to be performed, the interactionmonitoring platform may determine, based on the current user interactionscore, the ranking of the one or more touchpoint sets of the currentuser interaction, and the information concerning the current userinteraction, an issue concerning the transaction card, may cause thetransaction terminal to decline the transaction card, may cause adifferent device to cancel the transaction card, and may cause thedifferent device to issue a new transaction card to the user.

In some implementations, the interaction monitoring platform maygenerate, based on the current user interaction score and the ranking ofthe one or more touchpoint sets of the current user interaction, analert, and may send the alert to a different device to cause thedifferent device to display the alert.

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

FIG. 5 is a flow chart of an example process 500 for performing anaction based on user interaction data. In some implementations, one ormore process blocks of FIG. 5 may be performed by an interactionmonitoring platform (e.g., interaction monitoring platform 220). In someimplementations, one or more process blocks of FIG. 5 may be performedby another device or a group of devices separate from or including theinteraction monitoring platform, such as a server device (e.g., serverdevice 210), a client device (e.g., client device 230), and/or the like.

As shown in FIG. 5, process 500 may include obtaining historicalinteraction data concerning a plurality of user interactions (block510). For example, the interaction monitoring platform (e.g., usingcomputing resource 224, processor 320, memory 330, storage component340, input component 350, communication interface 370, and/or the like)may obtain historical interaction data concerning a plurality of userinteractions, as described above.

As further shown in FIG. 5, process 500 may include obtaining historicalresponse data concerning a plurality of user responses associated withthe plurality of user interactions (block 520). For example, theinteraction monitoring platform (e.g., using computing resource 224,processor 320, memory 330, storage component 340, input component 350,communication interface 370, and/or the like) may obtain historicalresponse data concerning a plurality of user responses associated withthe plurality of user interactions, as described above.

As further shown in FIG. 5, process 500 may include processing thehistorical interaction data and the historical response data using amodelling pipeline to determine for a user interaction of the pluralityof user interactions: a user interaction score, at least one touchpointset, and an association between the user interaction score and the atleast one touchpoint set (block 530). For example, the interactionmonitoring platform (e.g., using computing resource 224, processor 320,memory 330, storage component 340, and/or the like) may process thehistorical interaction data and the historical response data using amodelling pipeline to determine for a user interaction of the pluralityof user interactions: a user interaction score, at least one touchpointset, and an association between the user interaction score and the atleast one touchpoint set, as described above.

As further shown in FIG. 5, process 500 may include obtaininginformation concerning a current user interaction of a user (block 540).For example, the interaction monitoring platform (e.g., using computingresource 224, processor 320, memory 330, storage component 340, inputcomponent 350, communication interface 370, and/or the like) may obtaininformation concerning a current user interaction of a user, asdescribed above.

As further shown in FIG. 5, process 500 may include processing theinformation concerning the current user interaction using the modellingpipeline to determine a current user interaction score and a ranking ofone or more touchpoint sets of the current user interaction (block 550).For example, the interaction monitoring platform (e.g., using computingresource 224, processor 320, memory 330, storage component 340, and/orthe like) may process the information concerning the current userinteraction using the modelling pipeline to determine a current userinteraction score and a ranking of one or more touchpoint sets of thecurrent user interaction.

As further shown in FIG. 5, process 500 may include determining that thecurrent user interaction score satisfies a threshold (block 560). Forexample, the interaction monitoring platform (e.g., using computingresource 224, processor 320, memory 330, storage component 340, and/orthe like) may determine that the current user interaction scoresatisfies a threshold, as described above.

As further shown in FIG. 5, process 500 may include causing, afterdetermining that the current user interaction score satisfies thethreshold and based on the ranking of the one or more touchpoint sets ofthe current user interaction, at least one action to be performed (block570). For example, the interaction monitoring platform (e.g., usingcomputing resource 224, processor 320, memory 330, storage component340, input component 350, output component 360, communication interface370, and/or the like) may cause, after determining that the current userinteraction score satisfies the threshold and based on the ranking ofthe one or more touchpoint sets of the current user interaction, atleast one action to be performed, as described above.

Process 500 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, the information concerning the current userinteraction may concern at least one of the following interactions: amobile application interaction, a payment interaction, a withdrawalinteraction, a deposit interaction, a returned payment interaction, atransaction card terminal interaction, a bill payment interaction; awebsite interaction, a customer service interaction, a virtual assistantinteraction, a point of sale interaction, a financial productinteraction, a financial product application interaction, or a financialaccount interaction.

In some implementations, when causing the at least one action to beperformed, the interaction monitoring platform may generate a surveybased on the information concerning the current user interaction, maysend the survey to a user device associated with the user, may receive,based on sending the survey, a survey response, and may retrain a modelbased on the survey and the survey response.

In some implementations, the information concerning the current userinteraction may concern an organization, and, when causing the at leastone action to be performed, the interaction monitoring platform maydetermine an availability of the user, and schedule, based on theavailability of the user, a time for a representative of theorganization to call the user.

In some implementations, when causing the at least one action to beperformed, the interaction monitoring platform may generate an alertthat includes the information that indicates the current userinteraction score, information that indicates that action needs to betaken, information that indicates the at least one action, and may sendthe alert to a different device to cause the different device to displaythe alert on a display of the different device.

Although FIG. 5 shows example blocks of process 500, in someimplementations, process 500 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 5. Additionally, or alternatively, two or more of theblocks of process 500 may be performed in parallel.

FIG. 6 is a flow chart of an example process 600 for performing anaction based on user interaction data. In some implementations, one ormore process blocks of FIG. 6 may be performed by an interactionmonitoring platform (e.g., interaction monitoring platform 220). In someimplementations, one or more process blocks of FIG. 6 may be performedby another device or a group of devices separate from or including theinteraction monitoring platform, such as a server device (e.g., serverdevice 210), a client device (e.g., client device 230), and/or the like.

As shown in FIG. 6, process 600 may include obtaining historicalinteraction data concerning a plurality of user interactions (block610). For example, the interaction monitoring platform (e.g., usingcomputing resource 224, processor 320, memory 330, storage component340, input component 350, communication interface 370, and/or the like)may obtain historical interaction data concerning a plurality of userinteractions, as described above.

As further shown in FIG. 6, process 600 may include obtaining historicalresponse data concerning a plurality of user responses associated withthe plurality of user interactions (block 620). For example, theinteraction monitoring platform (e.g., using computing resource 224,processor 320, memory 330, storage component 340, input component 350,communication interface 370, and/or the like) may obtain historicalresponse data concerning a plurality of user responses associated withthe plurality of user interactions, as described above.

As further shown in FIG. 6, process 600 may include processing thehistorical interaction data and the historical response data to train amodel to identify a correspondence between a user interaction score anda touchpoint set (block 630). For example, the interaction monitoringplatform (e.g., using computing resource 224, processor 320, memory 330,storage component 340, and/or the like) may process the historicalinteraction data and the historical response data to train a model toidentify a correspondence between a user interaction score and atouchpoint set, as described above.

As further shown in FIG. 6, process 600 may include obtaininginformation concerning a plurality of current user interactions (block640). For example, the interaction monitoring platform (e.g., usingcomputing resource 224, processor 320, memory 330, storage component340, input component 350, communication interface 370, and/or the like)may obtain information concerning a plurality of current userinteractions, as described above.

As further shown in FIG. 6, process 600 may include processing theinformation concerning the plurality of current user interactions todetermine information concerning a current user interaction of theplurality of current user interactions (block 650). For example, theinteraction monitoring platform (e.g., using computing resource 224,processor 320, memory 330, storage component 340, and/or the like) mayprocess the information concerning the plurality of current userinteractions to determine information concerning a current userinteraction of the plurality of current user interactions, as describedabove.

As further shown in FIG. 6, process 600 may include processing theinformation concerning the current user interaction to determine acurrent user interaction score using the model (block 660). For example,the interaction monitoring platform (e.g., using computing resource 224,processor 320, memory 330, storage component 340, and/or the like) mayprocess the information concerning the current user interaction todetermine a current user interaction score using the model, as describedabove.

As further shown in FIG. 6, process 600 may include generating, based onthe information concerning the current user interaction, a ranking ofone or more touchpoint sets of the current user interaction using themodel (block 670). For example, the interaction monitoring platform(e.g., using computing resource 224, processor 320, memory 330, storagecomponent 340, and/or the like) may generate, based on the informationconcerning the current user interaction, a ranking of one or moretouchpoint sets of the current user interaction using the model, asdescribed above.

As further shown in FIG. 6, process 600 may include performing, based onthe current user interaction score and the ranking of the one or moretouchpoint sets of the current user interaction, at least one action(block 680). For example, the interaction monitoring platform (e.g.,using computing resource 224, processor 320, memory 330, storagecomponent 340, input component 350, output component 360, communicationinterface 370, and/or the like) may perform, based on the current userinteraction score and the ranking of the one or more touchpoint sets ofthe current user interaction, at least one action, as described above.

Process 600 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, when processing the historical interaction dataand the historical response data to train the model to identify thecorrespondence between the user interaction score and the touchpointset, the interaction monitoring platform may process the historicalinteraction data and the historical response data using a recursivefeature elimination technique and a gradient boosting technique todetermine the correspondence between the user interaction score and thetouchpoint set.

In some implementations, when performing the at least one action, theinteraction monitoring platform may determine a user device associatedwith the current user interaction, and may initiate a communicationsession with the user device to enable a virtual assistant tocommunicate with a user of the user device. In some implementations, thecurrent user interaction may concern a user interacting with aninteractive voice response (IVR) system, and, when performing the atleast one action, the interaction monitoring platform may change a menurouting path of the IVR system.

In some implementations, the current user interaction may concern a userinteracting with an interactive voice response (IVR) system via acommunication session, and, when performing the at least one action, theinteraction monitoring platform may prevent the IVR system fromcommunicating with the user via the communication session, and mayconnect the communication session to a communication device of an agent.

Although FIG. 6 shows example blocks of process 600, in someimplementations, process 600 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 6. Additionally, or alternatively, two or more of theblocks of process 600 may be performed in parallel.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations may be made inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term “component” is intended to be broadly construedas hardware, firmware, or a combination of hardware and software.

Some implementations are described herein in connection with thresholds.As used herein, satisfying a threshold may refer to a value beinggreater than the threshold, more than the threshold, higher than thethreshold, greater than or equal to the threshold, less than thethreshold, fewer than the threshold, lower than the threshold, less thanor equal to the threshold, equal to the threshold, or the like.

Certain user interfaces have been described herein and/or shown in thefigures. A user interface may include a graphical user interface, anon-graphical user interface, a text-based user interface, or the like.A user interface may provide information for display. In someimplementations, a user may interact with the information, such as byproviding input via an input component of a device that provides theuser interface for display. In some implementations, a user interfacemay be configurable by a device and/or a user (e.g., a user may changethe size of the user interface, information provided via the userinterface, a position of information provided via the user interface,etc.). Additionally, or alternatively, a user interface may bepre-configured to a standard configuration, a specific configurationbased on a type of device on which the user interface is displayed,and/or a set of configurations based on capabilities and/orspecifications associated with a device on which the user interface isdisplayed.

It will be apparent that systems and/or methods, described herein, maybe implemented in different forms of hardware, firmware, or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of various implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of various implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related andunrelated items, etc.), and may be used interchangeably with “one ormore.” Where only one item is intended, the phrase “only one” or similarlanguage is used. Also, as used herein, the terms “has,” “have,”“having,” or the like are intended to be open-ended terms. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

1. A device, comprising: one or more memories; and one or moreprocessors, communicatively coupled to the one or more memories,configured to: obtain historical interaction data concerning a pluralityof user interactions, wherein a user interaction of the plurality ofuser interactions includes one or more touchpoint sets; obtainhistorical response data concerning a plurality of user responses,wherein a user response of the plurality of user responses correspondsto the user interaction; process the historical interaction data and thehistorical response data using a modelling pipeline to determine anassociation between a user interaction score and a touchpoint set, thetouchpoint set including one or more of: first touchpoint dataindicating who initiated the user interaction, second touchpoint dataindicating how the user interaction was initiated, third touchpoint dataindicating why the user interaction was initiated, fourth touchpointdata indicating information communicated during the user interaction,fifth touchpoint data indicating how long the user interaction lasted,sixth touchpoint data indicating a wait time associated with the userinteraction, seventh touchpoint data indicating whether the userinteraction is associated with an existing user interaction issue,eighth touchpoint data indicating whether the user interaction wasassociated with user dissatisfaction, or ninth touchpoint dataindicating a corrective action taken regarding the user interaction;train, based on processing the historical interaction data, a firstmachine learning model, the first machine learning model being trainedto determine associations between user interaction scores and touchpointsets; determine information concerning a current user interaction of auser; process the information concerning the current user interactionusing the first machine learning model to determine a current userinteraction score and a ranking of a plurality of current touchpointsets for the current user interaction, the current user interactionscore being based on one or more current touchpoint sets of theplurality of current touchpoint sets; process, using a second machinelearning model, a highest ranking touchpoint set, of the plurality ofcurrent touchpoint sets, to identify an additional touchpoint set, theadditional touchpoint set being different from the highest rankingtouchpoint set, and the additional touchpoint set being associated withan additional user interaction score that exceeds the current userinteraction score; determine, based on the additional touchpoint set, atleast one action to be performed; and cause, based on the additionaltouchpoint set being associated with the additional user interactionscore that exceeds the current user interaction score, the at least oneaction to be performed.
 2. The device of claim 1, wherein the one ormore processors, when processing the historical interaction data and thehistorical response data using the modelling pipeline to determine theassociation between the user interaction score and the touchpoint set,are configured to: process the historical interaction data and thehistorical response data using at least one of the following techniques:a pattern mining technique; a gradient boosting technique; or arecursive feature elimination technique.
 3. The device of claim 1,wherein the historical interaction data concerns a plurality of users,wherein each user of the plurality of users is associated with a set ofuser interactions, of the plurality of user interactions.
 4. The deviceof claim 1, wherein the current user interaction score indicates atleast one of: a current sentiment of the user at a current stage of thecurrent user interaction; a first current likelihood that the user willprovide a response concerning the current stage of the current userinteraction; or a second current likelihood that the user will respondto marketing concerning the current stage of the current userinteraction.
 5. The device of claim 1, wherein the current userinteraction concerns an interaction between the user and anorganization, wherein the one or more processors, when causing the atleast one action to be performed, are configured to: determine, based onthe current user interaction score and the ranking of the plurality ofcurrent touchpoint sets, that a representative of the organization is tocommunicate with the user; determine a communication device of therepresentative and a communication device of the user; and cause thecommunication device of the representative to initiate a communicationsession with the communication device of the user.
 6. The device ofclaim 1, wherein the current user interaction concerns a financialaccount of the user, wherein the one or more processors, when causingthe at least one action to be performed, are configured to: determine,based on the current user interaction score and the ranking of theplurality of current touchpoint sets, a monetary credit; and cause themonetary credit to be added to the financial account of the user.
 7. Thedevice of claim 1, wherein the current user interaction concerns a billof the user, wherein the one or more processors, when causing the atleast one action to b performed, are configured to: determineinformation concerning the bill; calculate, based on the current userinteraction score, the ranking of the plurality of current touchpointsets, and the information concerning the bill, a bill discount; generatea message concerning the bill discount; and send the message to anelectronic messaging account associated with the user.
 8. The device ofclaim 1, wherein the current user interaction concerns an account of theuser and a bill, wherein the one or more processors, when causing the atleast one action to be performed, are configured to: determine, based onthe current user interaction score, the ranking of the plurality ofcurrent touchpoint sets, and the information concerning the current userinteraction, that the account has insufficient assets to pay the bill;cause assets of another account of the user to be transferred to theaccount; schedule a date for the bill to be paid using assets of theaccount; and enroll the account in an overdraft protection plan.
 9. Thedevice of claim 1, wherein the current user interaction concerns atransaction card of the user and a transaction terminal, wherein the oneor more processors, when causing the at least one action to beperformed, are configured to: determine, based on the current userinteraction score, the ranking of the plurality of current touchpointsets, and the information concerning the current user interaction, anissue concerning the transaction card; cause the transaction terminal todecline the transaction card; cause a different device to cancel thetransaction card; and cause the different device to issue a newtransaction card to the user.
 10. The device of claim 1, wherein the oneor more processors are further configured to: generate, based on thecurrent user interaction score and the ranking of the plurality ofcurrent touchpoint sets, an alert; and send the alert to a differentdevice to cause the different device to display the alert.
 11. Anon-transitory computer-readable medium storing instructions, theinstructions comprising: one or more instructions that, when executed byone or more processors of a device, cause the one or more processors to:obtain historical interaction data concerning a plurality of userinteractions; obtain historical response data concerning a plurality ofuser responses associated with the plurality of user interactions;process the historical interaction data and the historical response datausing a modelling pipeline to determine, for a user interaction of theplurality of user interactions: a user interaction score, at least onetouchpoint set, and an association between the user interaction scoreand the at least one touchpoint set, each touchpoint set, of the atleast one touchpoint set, including one or more of:  first touchpointdata indicating who initiated the user interaction,  second touchpointdata indicating how the user interaction was initiated,  thirdtouchpoint data indicating why the user interaction was initiated, fourth touchpoint data indicating information communicated during theuser interaction,  fifth touchpoint data indicating how long the userinteraction lasted,  sixth touchpoint data indicating a wait timeassociated with the user interaction,  seventh touchpoint dataindicating whether the user interaction is associated with an existinguser interaction issue,  eighth touchpoint data indicating whether theuser interaction was associated with user dissatisfaction, or  ninthtouchpoint data indicating a corrective action taken regarding the userinteraction; train, based on processing the historical interaction data,a first machine learning model, the first machine learning model beingtrained to determine associations between user interaction scores andtouchpoint sets; obtain information concerning a current userinteraction of a user; process the information concerning the currentuser interaction using the first machine learning model to determine acurrent user interaction score and a ranking of a plurality of currenttouchpoint sets for the current user interaction, the current userinteraction score being based on one or more current touchpoint sets ofthe plurality of current touchpoint sets, determine that the currentuser interaction score satisfies a threshold; process, based ondetermining that the current user interaction score satisfies thethreshold and using a second machine learning model, a highest rankingtouchpoint set, of the plurality of current touchpoint sets, to identifyan additional touchpoint set, the additional touchpoint set beingdifferent from the highest ranking touchpoint set, and the additionaltouchpoint set being associated with an additional user interactionscore that exceeds the current user interaction score; determine, basedon the additional touchpoint set, at least one action to be performed;and cause, based on the additional touchpoint set being associated withthe additional user interaction score that exceeds the current userinteraction score, the at least one action to be performed.
 12. Thenon-transitory computer-readable medium of claim 11, wherein theinformation concerning the current user interaction concerns at leastone of the following interactions: a mobile application interaction; apayment interaction; a withdrawal interaction; a deposit interaction; areturned payment interaction; a transaction card terminal interaction; abill payment interaction; a website interaction; a customer serviceinteraction; a virtual assistant interaction; a point of saleinteraction; a financial product interaction; a financial productapplication interaction; or a financial account interaction.
 13. Thenon-transitory computer-readable medium of claim 11, wherein the one ormore instructions, that cause the one or more processors to cause the atleast one action to be performed, cause the one or more processors to:generate a survey based on the information concerning the current userinteraction; send the survey to a user device associated with the user;receive, based on sending the survey, a survey response; and retrain amodel based on the survey and the survey response.
 14. Thenon-transitory computer-readable medium of claim 11, wherein theinformation concerning the current user interaction concerns anorganization, wherein the one or more instructions, that cause the oneor more processors to cause the at least one action to be performed,cause the one or more processors to: determine an availability of theuser; and schedule, based on the availability of the user, a time for arepresentative of the organization to call the user.
 15. Thenon-transitory computer-readable medium of claim 11, wherein the one ormore instructions, that cause the one or more processors to cause the atleast one action to be performed, cause the one or more processors to:generate an alert that includes information that indicates the currentuser interaction score, information that indicates that action needs tobe taken, information that indicates the at least one action; and sendthe alert to a different device to cause the different device to displaythe alert on a display of the different device.
 16. A method,comprising: obtaining, by a device, historical interaction dataconcerning a plurality of user interactions; obtaining, by the device,historical response data concerning a plurality of user responsesassociated with the plurality of user interactions; processing, by thedevice, the historical interaction data and the historical response datato train a first machine learning model to determine associationsbetween user interaction scores and touchpoints sets, the touchpointsets including one or more of: first touchpoint data indicating whoinitiated a user interaction, second touchpoint data indicating how theuser interaction was initiated, third touchpoint data indicating why theuser interaction was initiated, fourth touchpoint data indicatinginformation communicated during the user interaction, fifth touchpointdata indicating how long the user interaction lasted, sixth touchpointdata indicating a wait time associated with the user interaction,seventh touchpoint data indicating whether the user interaction isassociated with an existing user interaction issue, eighth touchpointdata indicating whether the user interaction was associated with userdissatisfaction, or ninth touchpoint data indicating a corrective actiontaken regarding the user interaction; obtaining, by the device,information concerning a plurality of current user interactions;processing, by the device, the information concerning the plurality ofcurrent user interactions to determine information concerning a currentuser interaction of the plurality of current user interactions;processing, by the device, the information concerning the current userinteraction to determine a current user interaction score using thefirst machine learning model, the current user interaction score beingbased on a plurality of current touchpoint sets associated with thecurrent user interaction; generating, by the device, using the firstmachine learning model, and based on the information concerning thecurrent user interaction, a ranking of the plurality of currenttouchpoint sets for the current user interaction; processing, by thedevice and using a second machine learning model, a highest rankingtouchpoint set, of the plurality of current touchpoint sets, to identifyan additional touchpoint set, the additional touchpoint set beingdifferent from the highest ranking touchpoint set, and the additionaltouchpoint set being associated with an additional user interactionscore that exceeds the current user interaction score; determining, bythe device and based on the additional touchpoint set, at least oneaction to be performed; and performing, by the device and based on theadditional touchpoint set being associated with the additional userinteraction score that exceeds the current user interaction score, theat least one action.
 17. The method of claim 16, wherein processing thehistorical interaction data and the historical response data to trainthe first machine learning model comprises: processing the historicalinteraction data and the historical response data using a recursivefeature elimination technique and a gradient boosting technique todetermine the associations between the user interaction scores and thetouchpoints sets.
 18. The method of claim 16, wherein performing the atleast one action comprises: determining a user device associated withthe current user interaction; and initiating a communication sessionwith the user device to enable a virtual assistant to communicate with auser of the user device.
 19. The method of claim 16, wherein the currentuser interaction concerns a user interacting with an interactive voiceresponse (IVR) system, wherein performing the at least one actioncomprises: changing a menu routing path of the IVR system.
 20. Themethod of claim 16, wherein the current user interaction concerns a userinteracting with an interactive voice response (IVR) system via acommunication session, wherein performing the at least one actioncomprises: preventing the IVR system from communicating with the uservia the communication session; and connecting the communication sessionto a communication device of an agent.